package Day10;

class ArrayBub{
    private long[] a;
    private int nElems;
    //constructor 构造函数
    public ArrayBub(int max){
        a = new long[max];
        nElems = 0;
    }
    //insert 方法
    public void insert(long value){
        a[nElems] = value;
        nElems ++ ;
    }
    // display 方法：展示数组元素
    public void display(){
        for(int i=0; i<nElems; i++){
            System.out.println(a[i]+"   ");
            System.out.println(" ");
        }
    }
    // 冒泡排序法
    public void bubbleSort(){
        int out ,in;
        for(out=nElems-1;out>1;out--){
            for(in=0; in<out; in++){
                if(a[in]>a[in+1]){
                    swap(in, in+1);
                }
            }
        }
    }
    // 交换算法（三角交换法）
    private void swap(int one, int two){
        long temp = a[one];
        a[one] = a[two];
        a[two] = temp;
    }
}
class BubbleSort {
    public static void main(String[] args) {
        int maxSize = 100;
        ArrayBub arr;
        arr = new ArrayBub(maxSize);
        
        arr.insert(77);
        arr.insert(70);
        arr.insert(78);
        arr.insert(45);
        arr.insert(55);
        arr.insert(00);
        arr.insert(88);
        arr.insert(11);

        arr.display();

        arr.bubbleSort();
        System.out.print("===============");
        arr.display();
    }
}